import java.util.Arrays;
import java.util.Scanner;
import com.sun.xml.internal.ws.api.pipe.SyncStartForAsyncFeature;

import java.util.Random;
class PrintPrimes {

   /* public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数字n：");
        int n = scanner.nextInt();
        int ret = shu(n);
        System.out.println("ret =" + ret);
    }
    public static int shu(int n){
        if (n == 1){
            return 1;
        }int tmp = n * shu(n-1);
        return tmp;
    }

    */

   /*public static void main(String[] args){
       System.out.println(sum(10));;
   }


   public static int sum (int n){
       if(n == 1) return 1;
       int tmp = n + sum(n-1);
       return tmp;
   }

    */

    /*public static void main(String[] args){
        print(56262);
    }
   public static void print(int n){
       if(n<=9){
           System.out.print(n);
           return;
       }
       print(n / 10);
       System.out.print(n % 10);
   }
     */

    /*public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个非负整n:");
        int n = scanner.nextInt();
        int a = sum(n);
        System.out.println("组成它的数字之和:"+a);

    }
    public static int sum(int n){
        if(n<10) return n;
        int tmp = n % 10 + sum(n /10);
        return tmp;
    }

     */

    /*public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入斐波那契数列的第 n 项:");
        int n = scanner.nextInt();
        int result = fib(n);
        System.out.println("所求斐波那契数列的第 n 项值为："+result);
    }
    public static int fib(int n){
        if(n == 1 || n == 2) return 1;
        int tmp = fib(n-1)+fib(n-2);
        return tmp;
    }

     */
    /*public static void main (String[] args){
        hanoi(6,'A','C','B');
    }
    public static int hanoi(int n ,char a,char b,char help){
        if(n == 1) {
            move(a, b);
            return 0;
        }
        hanoi(n-1,a,help,b);
        move(a,b);
        hanoi(n-1,help,b,a);
        return 0;
    }
    public static void move(char a,char help){
        System.out.println(a+"->"+help);
    }

     */


    /*public static void main(String[] args){
        int[] array = new int []{1,2,3,4};
        for(int i = 0;i < array.length;i++){
            System.out.print(array[i]+" ");
        }
        System.out.println();
        for(int a : array){
            System.out.print(a+" ");
        }
        System.out.println();
        String ret = Arrays.toString(array);
        System.out.println(ret);

     */
    /*public static void main(String[] args){
        int[] array = {1,2,3,4};
        print(array);
    }
    public static void print(int[] array) {
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i] + " ");
        }

     */
    /*public static int[]fib(int n){
        if(n <=0){
            return null;
        }
        int[] array = new int[n];
        array[0] = array[1] = 1;
        for(int i = 2;i < n;++i){
            array[i] = array[i-1] + array[i-2];
        }

        return array;
    }
    public static void main(String[] args){
        int[] array = fib(10);
        for(int i = 0;i<array.length;i++) {
            System.out.println(array[i]);
        }
    }

     */
    /*public static void main(String[] args){
        int[] array = {1,2,3,4};
        int[] lkt = new int[array.length];
        System.arraycopy(array,0,lkt,0,array.length);

        System.out.println(Arrays.toString(array));
    }
     */
    /*public static void main(String[] args){
        int[] lkt = {1,2,3,4,5555,6};
        System.out.println(app(lkt));
    }
    public static double app(int[] lkt){
        int sum = 0;
        for(int x :lkt){
            sum +=x;
        }
        return (double) sum/(double) lkt.length;
    }

     */

    /*public static void main(String[] args){
       int[] lkt = new int[100];//设置数组的大小；
        for(int i = 0;i < lkt.length;i++){
            lkt[i] = i + 1;//确保每个数组大小由1开始增长，因为序号是从0开始
        }
        for(int x : lkt){
            System.out.print(x+",");//打印数组的一种方式 for (int x : 数组名字)
        }
    }
     */
 //先定义出一个函数transform可以让每个数组都乘以2
    /*public static void transform(int[] lkt){
        for(int i = 0 ;i < lkt.length;i++){
            lkt[i] *= 2;//通过循环的方法让数组每一位数都能乘2
        }
    }
    public static void main(String[] args){
        int[] arr = {1,2,3};//定义出一个符合条件的数组
        transform(arr);//将函数运用到该数组上，让它值发生变化
        for(int a : arr) {
            System.out.print(a+",");//打印数组
        }
    }

     */
    /*public static int sum(int[] lkt) {
        int sum = 0;
        for (int i = 0; i < lkt.length; i++) {
            sum += lkt[i];
        }
        return sum;//保证每次sum的值都是被加起来
    }

    public static void main(String[] args){
        int[] arr = new int[100];//生成1~100的数组
        for(int i = 0 ;i < arr.length; i++){
            arr[i] = i + 1;
            sum(arr);//调用函数去加数组
        }
        System.out.println(sum(arr));
    }

     */
    public static void lkt(int[] arr) {
        int left = 0, right = arr.length - 1;
        while (left < right) {//保证所有代码都是在left<right的前提下运行，处理了整个数组，而不是一对奇数偶数。
            // 你需要在while循环内部进行交换，这样才能确保每一次循环都能处理一对奇偶数，直到left和right相遇。
            while (left < right && arr[left] % 2 != 0) {
                left++;//当左边找到一个奇数，再加1就是偶数
            }
            while (left < right && arr[right] % 2 == 0) {
                right--;//当右边找到一个偶数，再减1就是奇数
            }
            if (left < right) {//之后保持刚才左边表示的偶数和右边保持的奇数替换位置，当左右指针相等时候就终止。
                int a = arr[left];
                arr[left] = arr[right];
                arr[right] = a;
            }
        }
    }
    public static void main (String[] args){
        int[] num = new int[100];
        for(int i = 0;i < num.length;i++){
            num[i] = i + 1;
        }
        lkt(num);
        for(int z : num){
            System.out.print(z+",");
        }
    }
}